package tech.aistar.day13;

import java.lang.reflect.Method;

/**
 * 本类用来演示:
 *
 * @author: success
 * @date: 2022/8/4 2:05 下午
 */
@MyAnno(value = "sup",age = 10)
public class Sup {

    @MyAnno(value = "test",age=20)
    public void test(){
        System.out.println("sup...");
    }
}
class Sub extends Sup{

    public void test() {
        System.out.println("sub...");
    }
}
class SupTest{
    public static void main(String[] args) {
        Class<?> c = Sub.class;
        //判断子类上是否添加了注解
        if(c.isAnnotationPresent(MyAnno.class)){
            //子类可以继承父类 类上面加的注解
            System.out.println("加了注解!");//ok
        }else{
            System.out.println("没有加注解!");
        }

        //test-Method实例
        try {
            Method m = c.getDeclaredMethod("test");
            if(m.isAnnotationPresent(MyAnno.class)){
                System.out.println("加了注解!");
            }else{
                //子类方法是不能够继承父类方法上的注解的
                //子类的方法是重写的方法
                System.out.println("没有加注解!");
            }
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }
    }
}